diffeq_implicit_runge_kutta Module



Derived Types

type, public, extends(single_step_integrator) ::  rosenbrock

Defines a 4th order Rosenbrock integrator.

Read more…

Type-Bound Procedures

procedure, public :: append_to_buffer => oi_append_to_buffer ..\..\

Appends the supplied solution point to the internal solution buffer.<\p>

procedure, public :: attempt_step => rbrk_attempt_step ..\..\

Attempts an integration step for this integrator.<\p>

procedure, public :: clear_buffer => oi_clear_buffer ..\..\

Clears the contents of the buffer.<\p>

procedure, public :: compute_error_norm => oi_estimate_error ..\..\

Computes the norm of the scaled error estimate.<\p>

procedure, public :: estimate_inital_step_size => oi_initial_step ..\..\

Computes an estimate of an initial step size.<\p>

procedure, public :: estimate_next_step_size => rbrk_next_step ..\..\

Estimates the next step size.<\p>

procedure, public :: get_absolute_tolerance => oi_get_abs_tol ..\..\

Gets the absolute error tolerance.<\p>

procedure, public :: get_allow_overshoot => oi_get_allow_overshoot ..\..\

Gets a value determining if the solver is allowed to overshoot the final value in the integration range.<\p>

procedure, public :: get_is_fsal => rbrk_get_is_fsal ..\..\

Gets a logical parameter stating if this is a first-same-as-last (FSAL) integrator.<\p>

procedure, public :: get_maximum_step_size => oi_get_max_step ..\..\

Gets the magnitude of the maximum allowed step size.<\p>

procedure, public :: get_minimum_step_size => oi_get_min_step ..\..\

Gets the magnitude of the minimum allowed step size.<\p>

procedure, public :: get_order => rbrk_get_order ..\..\

Gets the order of the integrator.<\p>

procedure, public :: get_relative_tolerance => oi_get_abs_tol ..\..\

Gets the relative error tolerance.<\p>

procedure, public :: get_solution => oi_get_solution ..\..\

Returns the solution computed by the integrator.<\p>

procedure, public :: get_stage_count => rbrk_get_stage_count ..\..\

Gets the stage count for this integrator.<\p>

procedure, public :: get_step_limit => oi_get_step_limit ..\..\

Gets the limit on the number of integration steps.<\p>

procedure, public :: get_step_size_control_parameter => oi_get_control_parameter ..\..\

Gets the step size PI control parameter.<\p>

procedure, public :: get_step_size_factor => oi_get_safety_factor ..\..\

Gets the step size safety factor.<\p>

procedure, public :: interpolate => rbrk_interp ..\..\

Performs the interpolation.<\p>

procedure, public :: post_step_action => rbrk_set_up_interp ..\..\

Sets up the interpolation process as the post-step action.<\p>

procedure, public :: pre_step_action => rbrk_form_matrix ..\..\

Constructs the system matrix.<\p>

procedure, public :: set_absolute_tolerance => oi_set_abs_tol ..\..\

Sets the absolute error tolerance.<\p>

procedure, public :: set_allow_overshoot => oi_set_allow_overshoot ..\..\

Sets a value determining if the solver is allowed to overshoot the final value in the integration range.<\p>

procedure, public :: set_maximum_step_size => oi_set_max_step ..\..\

Sets the magnitude of the maximum allowed step size.<\p>

procedure, public :: set_minimum_step_size => oi_set_min_step ..\..\

Sets the magnitude of the minimum allowed step size.<\p>

procedure, public :: set_relative_tolerance => oi_set_abs_tol ..\..\

Sets the relative error tolerance.<\p>

procedure, public :: set_step_limit => oi_set_step_limit ..\..\

Sets the limit on the number of integration steps.<\p>

procedure, public :: set_step_size_control_parameter => oi_set_control_parameter ..\..\

Sets the step size PI control parameter.<\p>

procedure, public :: set_step_size_factor => oi_set_safety_factor ..\..\

Sets the step size safety factor.<\p>

procedure, public :: solve => ssi_ode_solver ..\..\

Solves the supplied system of ODE's.<\p>